#include <iostream>
#include <vector>
using namespace std;

void printvector ( const vector <int>&V)
  {cout <<"V:[";
   for (int i=0; i<V.size(); i++)
     {if (i>0) cout <<" "; cout << V[i];
     }
   cout <<"]"<<endl;
  }


void maximum ( const vector <int>&V, int&max)
  {max=V[0];
   for (int i=1; i<V.size(); i++)
     {if (V[i]>max) max=V[i];
     }
  }


void otrazhenie ( const vector <int>&V, int l,  vector <int>&K)
  {for (int i=0; i<V.size(); i++)
     {l=V[i];
      K[l]=K[l]+1;
     }
  }

void obnulenie ( const vector <int>&V,  vector <int>&K )
  {for (int j=0; j<K.size(); j++)
     {K[j]=0;
     }
  }

void vivod (  vector <int>&K )
  {cout <<"K:[";
   for (int j=0; j<K.size(); j++)
     {if (j>0) cout <<" "; cout << j <<" - " <<K[j] <<endl;
     }
   cout <<"]"<<endl;
  }

int main ()
  {int m; int l; int max;  vector <int> V; vector <int> K;
   while (cin >>m) {V.push_back(m);}
   printvector(V);
   maximum(V,max);
   K.resize(max+1);
   obnulenie(V,K);
   otrazhenie(V,l,K);
   vivod(K);
  }
